【コマンドライン】viエディタの設定(setコマンド・設定ファイル)
CUIのコンピュータでは、viコマンドのエディタが頻繁に利用されます。
viエディタはキーボードのみで操作することもあり、GUIのエディタが主流の近年では使いづらく感じることがあります。
使いやすくするためにはviエディタを設定することが推奨です。
ここではviエディタの設定方法について解説します。
検証環境
設定方法
設定方法は『setコマンド』と『設定ファイル』の2通りあります。
setコマンドが最も基本的な方法ですが、setコマンドの設定内容はviエディタを終了するとリセットされます。
そのため、一時的に設定する場合はsetコマンドで問題ありませんが、常時設定するオプションは設定ファイルを使うことを推奨します。
ただし、ここでは基本部分としてsetコマンドの解説から進めます。
setコマンド
setコマンドはviエディタのコマンドモードで設定する方法です。
行数表示や隠し文字の表示、段落維持など様々な設定項目(オプション)があります。
各オプションのON/OFFや値を次の形式で設定します。
設定ON
: set [オプション]
設定OFF
: set no[オプション]
値設定
: set [オプション] = 値
オプション
オプションはviエディタの設定項目です。
主なオプションは次の通りです。
オプション | 内容 |
---|---|
number |
行数を表示 |
list |
隠し文字を表示 |
expandtab |
Tab入力時にタブ文字ではなく半角スペースを使用 |
tabstop=[数値] |
Tab入力時に指定した数値のスペースを使用 |
autoindent |
改行時に前行の段落を維持 |
サンプル
setコマンドのサンプルを示します。
次の画像はmemo.txt
をviエディタで開いた直後の画面です。
number
numberは行数表示のオプションです。
設定ON
: set number
を入力しエンターキーで確定すると行数が表示されます。
設定OFF
: set nonumber
を入力しエンターキーで確定すると行数が非表示になります。
list
listは隠し文字表示のオプションです。
設定ON
: set list
を入力しエンターキーで確定すると隠し文字が表示されます。
^I
はTab、$
は改行に対応しています。
設定OFF
: set nolist
を入力しエンターキーで確定すると隠し文字が非表示になります。
expandtab
expandtabはTab入力時の文字を半角スペースにするオプションです。
設定ON
: set expandtab
を入力しエンターキーで確定するとTab入力がスペースになります。
※ 設定反映を確認するため、listオプションをONにしています。
試しに1行目の先頭にTab入力すると、^I
ではなくスペース文字が4つ入力されました。
設定OFF
: set noexpandtab
を入力しエンターキーで確定するとTab入力がタブ文字になります。
試しに2行目の先頭にTab入力すると、スペース文字ではなく、^I
が入力されました。
tabstop=[数値]
tabstopはTab入力時の半角スペース数のオプションです。
値設定
: set tabstop=[数値]
を入力しエンターキーで確定するとTab入力の半角スペースの文字数を変更します。
※ expandtabをONにして使用します。
Tabスペースが4から2に変更したことにより各Tabスペースが狭くなったことが分かります。
以降のTab入力ではスペースが2になります。
autoindent
autoindentは改行時に前行の段落を維持するオプションです。
設定ON
: set autoindent
を入力しエンターキーで確定すると改行時に前行の段落を維持します。
試しに3行目の『Vi Command Option.』の末尾で改行すると、段落を保持して改行したことが分かります。
設定OFF
: set noautoindent
を入力しエンターキーで確定すると改行時に前行の段落を維持しません。
試しに10行目の『Config File.』の末尾で改行すると、段落を保持せず改行したことが分かります。
設定ファイル
設定ファイルはviエディタの設定を記述したファイルです。
viエディタは起動時に設定ファイルを読み込むため、任意の設定を自動で反映できます。
setコマンドは毎回設定する必要があり、手間がかかるため、こちらの方法を推奨します。
設定ファイルはホームディレクトリに隠しファイル.vimrcとして作成します。
※ ご利用の環境により設定ファイル名等が異なる場合があります。
$ vi ~/.vimrc
設定ファイルにはsetコマンドと同様の形式でオプションを記述しますが、先頭のコロン(:
)は必要なく、行ごとに入力します。
設定を入力したら保存して終了します。
viエディタでファイルを開くと起動時から設定が反映されていることが分かります。